package com.yc.bos.dao.base;

import com.yc.bos.model.PageBean;
import org.hibernate.criterion.DetachedCriteria;

import java.io.Serializable;
import java.util.List;

public interface IBaseDao<T> {
    public void save(T entity);

    public void update(T entity);


    //查询表的所有数据
    public List<T> findAllByDetachedCriteria(DetachedCriteria dc);

    /**
     * IBaseDao:公共的删除方法
     * */
    public void delete(T entity);

    public List<T> findAll();

    public T findById(Serializable id);

    public  void  executeUpdate(String hql,Object...objs);

    public void executeUpdateByQueryName(String queryName,Object... objs);

    public void saveAll(List<T> list);

    public void pageQuery(PageBean<T>pd);

}
